@import "scss/font-awesome";

body h1, p {
    line-height: 1.6
}

.xiaoshujiang_pre, pre {
    word-wrap: break-word;
    word-break: break-word;
    tab-size: 4;
    white-space: pre-wrap
}

.tag.label, .xsj_mindmap_caption, a.attachment, kbd {
    display: inline-block
}

body, kbd {
    color: #2f2f2f
}

img, kbd {
    vertical-align: middle
}

body {
    font-family: 'Helvetica Neue', Helvetica, Tahoma, Arial, 'Hiragino Sans GB', STHeiti, "Microsoft YaHei", "微软雅黑", 'WenQuanYi Micro Hei', STXihei, "华文细黑", Heiti, "黑体", SimSun, "宋体", Song, sans-serif;
    font-size: 16px;
    line-height: 1.33;
    font-weight: 100;
    word-wrap: break-word;
    word-break: break-word;
    letter-spacing: 0;
    word-spacing: .25em
}

a:focus {
    outline: #333 dotted thin;
    outline: -webkit-focus-ring-color auto 5px;
    outline-offset: -2px
}

a:active, a:hover {
    outline: 0
}

a {
    color: #08c;
    text-decoration: none
}

a:hover {
    color: #005580;
    text-decoration: underline
}

h1, h2, h3, h4, h5, h6 {
    margin: 1em 0 .6em;
    font-family: inherit;
    font-weight: 500;
    line-height: 2.35rem;
    color: inherit;
    text-rendering: optimizelegibility
}

.mermaid_svg, .xiaoshujiang_pre, pre {
    font-family: monospace
}

.table th, .tag.label, a.attachment .filename, dt, strong {
    font-weight: 700
}

h1 {
    font-size: 3.4rem
}

h2 {
    font-size: 3rem
}

h3 {
    font-size: 2.45rem
}

h4 {
    font-size: 2.1rem
}

h5 {
    font-size: 1.9rem
}

h6 {
    font-size: 1.5rem
}

body h2, body h3 {
    line-height: 1.1
}

.xsj_hr {
    margin: 20px 0;
    border: 0;
    border-top: 1px dashed #2f2f2f;
    border-left: 90px solid transparent;
    border-right: 90px solid transparent
}

address, dl {
    margin-bottom: 20px
}

blockquote p, ol ol, ol ul, ul ol, ul ul {
    margin-bottom: 0
}

p {
    margin: 0 0 1.1em
}

pre {
    line-height: initial !important
}

kbd {
    padding: 3px 5px;
    font-size: 11px;
    line-height: 10px;
    background: #fcfcfc;
    border: 1px solid #2f2f2f;
    border-bottom-color: #2f2f2f;
    border-radius: 3px;
    box-shadow: inset 0 -1px 0 #2f2f2f
}

address {
    display: block;
    font-style: normal;
    line-height: 20px
}

img {
    height: auto;
    max-width: 100%;
    border: 0
}

table {
    max-width: 100%;
    background: 0 0;
    border-collapse: collapse;
    border-spacing: 0;
    word-break: initial;
    border: 1px solid rgba(34, 36, 38, .15)
}

small {
    font-size: 85%
}

em {
    font-style: italic
}

cite, em.cjk_emphasis {
    font-style: normal
}

ol, ul {
    padding: 0;
    margin: 0 0 10px 35px
}

dd, dt {
    line-height: 20px
}

dd {
    margin-left: 10px
}

body dd, body dt {
    line-height: 1.35em
}

abbr[data-original-title], abbr[title] {
    cursor: help;
    border-bottom: 1px dotted #999
}

blockquote {
    padding: 15px 20px;
    margin: 0 0 20px;
    border-left: 10px solid rgba(153, 153, 153, .3);
    background: rgba(204, 204, 204, .4)
}

blockquote p {
    font-size: 16px;
    font-weight: 300;
    line-height: 25px
}

blockquote small {
    display: block;
    line-height: 20px;
    color: #999
}

blockquote small:before {
    content: '\2014 \00A0'
}

blockquote footer {
    margin: 1em 0;
    font-style: italic
}

blockquote footer cite {
    margin: 0 1em
}

code {
    background: rgba(214, 219, 223, .28);
    color: #2C3E50;
    border-radius: 4px;
    padding: 2px 4px
}

body code {
    border: 0;
    border-radius: 4px;
    font-size: 90%
}

text {
    font-size: 14px
}

h1.story_title {
    margin: .7em 0
}

.story_tags {
    margin: 0 0 1.2em
}

.tag.label {
    vertical-align: baseline;
    line-height: 1;
    margin: .125em;
    background: #ebeeef;
    border-color: #ebeeef;
    padding: .6em .8em;
    color: #5e6060;
    text-transform: none;
    border-radius: .2857rem;
    box-sizing: border-box;
    font-size: 12px
}

.table {
    width: 100%;
    margin-bottom: 20px;
    margin-right: auto;
    margin-left: auto
}

.table td, .table th {
    padding: 8px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #ddd
}

.table thead th {
    vertical-align: bottom
}

.table caption + thead tr:first-child td, .table caption + thead tr:first-child th, .table colgroup + thead tr:first-child td, .table colgroup + thead tr:first-child th, .table thead:first-child tr:first-child td, .table thead:first-child tr:first-child th {
    border-top: 0
}

.table tbody + tbody {
    border-top: 2px solid #ddd
}

.table .table {
    background: #fff
}

.table-striped tbody > tr:nth-child(odd) > td, .table-striped tbody > tr:nth-child(odd) > th {
    background: #f9f9f9
}

.table-celled.table tr td, .table-celled.table tr th {
    border-left: 1px solid rgba(34, 36, 38, .1)
}

.table-celled.table tr td:first-child, .table-celled.table tr th:first-child {
    border-left: none
}

.mindmap_container {
    text-align: center
}

.xsj_mindmap_caption {
    border-bottom: 1px solid #d9d9d9;
    color: #999;
    padding: 10px
}

.hljs, .hljs * {
    overflow: visible !important;
    word-spacing: initial
}

body .xiaoshujiang_code {
    border: 0;
    border-radius: 4px;
    font-size: 90%
}

.xiaoshujiang_code ol {
    margin-bottom: 0
}

.xiaoshujiang_pre {
    line-height: initial !important
}

.xiaoshujiang_code_container pre {
    margin: 0
}

.xiaoshujiang_code_container.xiaoshujiang_code_chunk {
    box-shadow: 0 0 0 1px #A3C293 inset, 0 0 0 0 transparent;
    margin: 1em 0;
    padding: 1em
}

.xiaoshujiang_code_container.xiaoshujiang_code_chunk_hide_code {
    box-shadow: initial;
    padding: initial initial 2em
}

.xiaoshujiang_code_container .out_put {
    box-shadow: 0 0 0 1px #A3C293 inset, 0 0 0 0 transparent;
    margin: 1em 0;
    background: #FCFFF5;
    padding: 1em
}

.xiaoshujiang_code_container .out_put_error {
    background: #FFF6F6;
    color: #9F3A38;
    margin: 1em 0;
    box-shadow: 0 0 0 1px #E0B4B4 inset, 0 0 0 0 transparent;
    padding: 1em
}

.xiaoshujiang_code.hljs.code_linenums, code.hljs.code_linenums {
    position: relative
}

.ol_linenums {
    padding: 0;
    margin-left: 2em;
    border-left: 1px solid #e0e0e0
}

.li_linenum {
    position: relative;
    padding-left: .5em;
    list-style: none;
    counter-increment: lines 1
}

.li_linenum.li_list_style {
    list-style: inherit;
    margin-left: 5px
}

.li_linenum:before, .li_linenum_before_span {
    content: counter(lines, decimal);
    position: absolute;
    left: -2.5em;
    text-align: center;
    width: 2.5em;
    vertical-align: top
}

.li_linenum_before_span_hide {
    display: none
}

.xiaoshujiang_code_container {
    margin: 1em 0;
    position: relative;
    padding-bottom: 2em
}

.xiaoshujiang_code_title_container {
    font-size: 70%;
    opacity: .5
}

.xiaoshujiang_code_title_container > .xiaoshujiang_code_infos {
    float: right
}

.mark {
    border: 0;
    background: rgba(221, 243, 231, .4);
    color: #29754d;
    padding: 2px 4px
}

.line_mark {
    background: rgba(210, 174, 174, .3)
}

.li_linenum.line_mark:before, .line_mark .li_linenum_before_span {
    background: rgba(210, 118, 118, .6)
}

.xiaoshujiang_code .mark, code .mark {
    border-radius: 0;
    font-size: initial;
    padding: initial;
    background: rgba(160, 234, 194, .7)
}

a.attachment {
    background: #ecf0f3;
    border: 1px solid #bec6cb;
    padding: 5px;
    margin: 2px;
    min-width: 250px
}

a.attachment i.fa {
    font-size: 3em;
    float: left;
    margin-right: .2em
}

a.attachment .filename {
    vertical-align: top;
    text-align: left
}

.flow-chart, .mermaid, .plot, .plot-image, .sequence-diagram, .story_image_container, .story_remote_resource_block, .video_container {
    text-align: center
}

a.attachment .filesize {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    opacity: .6;
    font-size: 80%;
    white-space: nowrap
}

.story_image_container > .story_image {
    display: inline-block;
    position: relative;
    max-width: 100%
}

.story_image_caption {
    border-bottom: 1px solid #d9d9d9;
    display: inline-block;
    color: #999;
    padding: 10px
}

.story_image_blank_caption {
    border-bottom: 0
}

.story_image > img {
    border-radius: .3125em;
    box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .08)
}

.story_inline_image {
    display: inline-block
}

.story_inline_image > img {
    vertical-align: bottom
}

.task-list-item {
    list-style: none
}

.task-list-item.li_list_style {
    list-style: inherit
}

.task-list-item > input {
    margin: 0 0 0 -20px
}

.video_container {
    width: 100%;
    display: table;
    position: relative;
    padding-bottom: 56.25% !important
}

.video_container iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    vertical-align: middle
}

.slideshare_container .inner {
    position: relative;
    width: 100%
}

.slideshare_container .inner iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.toc ul {
    list-style-type: none
}

em.cjk_emphasis {
    font-family: Georgia, "Times New Roman", Times, "楷体", "AR PL UKai CN", NSimSun, "Songti SC", SimSun, serif !important
}

.plot, .plot-image {
    min-height: 200px;
    min-width: 200px
}

.story_align_left, .story_align_left .story_image_container {
    text-align: left
}

.story_align_right, .story_align_right .story_image_container {
    text-align: right
}

.story_align_center, .story_align_center .story_image_container {
    text-align: center
}

.story_align_justify, .story_align_justify .story_image_container {
    text-align: justify
}

.mathjax-container {
    text-align: center
}

div.mathjax {
    max-width: 600px;
    margin: 0 auto;
    font-size: 14px
}

@media print {
    body {
        font-size: 18px;
        word-wrap: break-word;
        word-break: break-word;
        background: initial;
        font-kerning: normal;
        text-rendering: geometricPrecision
    }
    .xiaoshujiang_element.xsj_anchor {
        position: absolute
    }
    .story_image_container, tr {
        page-break-inside: avoid
    }
    .xsj_underline {
        page-break-after: always;
        visibility: hidden
    }
}

/*

Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>

*/

.hljs {
    display: block;
    overflow-x: auto;
    padding: 0.5em;
    background: #fdf6e3;
    color: #657b83;
}

.hljs-comment,
.hljs-quote {
    color: #93a1a1;
}

/* Solarized Green */
.hljs-keyword,
.hljs-selector-tag,
.hljs-addition {
    color: #859900;
}

/* Solarized Cyan */
.hljs-number,
.hljs-string,
.hljs-meta .hljs-meta-string,
.hljs-literal,
.hljs-doctag,
.hljs-regexp {
    color: #2aa198;
}

/* Solarized Blue */
.hljs-title,
.hljs-section,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class {
    color: #268bd2;
}

/* Solarized Yellow */
.hljs-attribute,
.hljs-attr,
.hljs-variable,
.hljs-template-variable,
.hljs-class .hljs-title,
.hljs-type {
    color: #b58900;
}

/* Solarized Orange */
.hljs-symbol,
.hljs-bullet,
.hljs-subst,
.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-link {
    color: #cb4b16;
}

/* Solarized Red */
.hljs-built_in,
.hljs-deletion {
    color: #dc322f;
}

.hljs-formula {
    background: #eee8d5;
}

.hljs-emphasis {
    font-style: italic;
}

.hljs-strong {
    font-weight: bold;
}

/**
 * Treeview syntax highlighting based on highlight.js
 * Copyright (c) 2014-2015, Asciidocfx Team, (MIT Licensed)
 * https://github.com/asciidocfx/highlight-treeview.js
 */
.language-treeview.hljs {
    position: relative;
}

.hljs-folder,
.hljs-hiddenfile,
.hljs-file {
    position: relative;
    vertical-align: top;
    display: inline-block;
    height: 16px;
}

.hljs-folder:before,
.hljs-file:before,
.hljs-hiddenfile:before {
    top: 0;
    content: '';
    width: 14px;
    height: 12px;
    margin-top: 0px;
    margin-right: 3px;
    position: relative;
    display: inline-block;
    background-size: 14px;
    background-repeat: no-repeat;
}

.hljs-file:before,
.hljs-hiddenfile:before {
    height: 14px;
    margin-left: 1px;
}

.hljs-hiddenfile {
    opacity: 0.6;
}

.hljs-file.photo:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c5";
}

.hljs-file.plain:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f016";
}

.hljs-file.source:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c9";
}

.hljs-file.archive:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c6";
}

.hljs-file.audio:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c7";
}

.hljs-file.video:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c8";
}

.hljs-file.pdf:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c1";
}

.hljs-file.xls:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c3";
}

.hljs-file.doc:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c2";
}

.hljs-file.ppt:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f1c4";
}

.hljs-folder:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f114";
}

.hljs-hiddenfile:before {
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f016";
}

.hljs-tvline {
    margin-left: 6px;
    position: absolute;
    text-indent: -99em;
    padding-bottom: 8px;
    vertical-align: top;
    display: inline-block;
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: rgb(94, 144, 117);
}

.hljs-folder-branch {
    width: 8px;
    height: 8px;
    margin-top: -1px;
    margin-left: 6px;
    text-indent: -99em;
    position: relative;
    vertical-align: top;
    display: inline-block;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgb(94, 144, 117);
}

.hljs-folder-branch.win {
    width: 14px;
    margin-right: 2px;
}

.hljs-folder-last-branch {
    height: 7px;
    width: 7px;
    margin-left: 6px;
    text-indent: -99em;
    position: relative;
    vertical-align: top;
    display: inline-block;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgb(94, 144, 117);
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: rgb(94, 144, 117);
}

.hljs-folder-last-branch.win {
    width: 13px;
    margin-right: 2px;
}


/**
 * Treeview syntax highlighting based on highlight.js
 */

/*wavedrom start*/

.wavedrom_svg text, .wavedrom_svg_defs text {
    font-size: 11pt;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    font-stretch: normal;
    text-align: center;
    fill-opacity: 1;
    font-family: Helvetica
}

.wavedrom_svg .muted, .wavedrom_svg_defs .muted {
    fill: #aaa
}

.wavedrom_svg .warning, .wavedrom_svg_defs .warning {
    fill: #f6b900
}

.wavedrom_svg .error, .wavedrom_svg_defs .error {
    fill: #f60000
}

.wavedrom_svg .info, .wavedrom_svg_defs .info {
    fill: #0041c4
}

.wavedrom_svg .success, .wavedrom_svg_defs .success {
    fill: #00ab00
}

.wavedrom_svg .h1, .wavedrom_svg_defs .h1 {
    font-size: 33pt;
    font-weight: bold
}

.wavedrom_svg .h2, .wavedrom_svg_defs .h2 {
    font-size: 27pt;
    font-weight: bold
}

.wavedrom_svg .h3, .wavedrom_svg_defs .h3 {
    font-size: 20pt;
    font-weight: bold
}

.wavedrom_svg .h4, .wavedrom_svg_defs .h4 {
    font-size: 14pt;
    font-weight: bold
}

.wavedrom_svg .h5, .wavedrom_svg_defs .h5 {
    font-size: 11pt;
    font-weight: bold
}

.wavedrom_svg .h6, .wavedrom_svg_defs .h6 {
    font-size: 8pt;
    font-weight: bold
}

.wavedrom_svg_defs .s1 {
    fill: none;
    stroke: #000;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-opacity: 1;
    stroke-dasharray: none
}

.wavedrom_svg_defs .s2 {
    fill: none;
    stroke: #000;
    stroke-width: 0.5;
    stroke-linecap: round;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-opacity: 1;
    stroke-dasharray: none
}

.wavedrom_svg_defs .s3 {
    color: #000;
    fill: none;
    stroke: #000;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-opacity: 1;
    stroke-dasharray: 1, 3;
    stroke-dashoffset: 0;
    marker: none;
    visibility: visible;
    display: inline;
    overflow: visible;
    enable-background: accumulate
}

.wavedrom_svg_defs .s4 {
    color: #000;
    fill: none;
    stroke: #000;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-opacity: 1;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    marker: none;
    visibility: visible;
    display: inline;
    overflow: visible
}

.wavedrom_svg_defs .s5 {
    fill: #fff;
    stroke: none
}

.wavedrom_svg_defs .s6 {
    color: #000;
    fill: #ffffb4;
    fill-opacity: 1;
    fill-rule: nonzero;
    stroke: none;
    stroke-width: 1px;
    marker: none;
    visibility: visible;
    display: inline;
    overflow: visible;
    enable-background: accumulate
}

.wavedrom_svg_defs .s7 {
    color: #000;
    fill: #ffe0b9;
    fill-opacity: 1;
    fill-rule: nonzero;
    stroke: none;
    stroke-width: 1px;
    marker: none;
    visibility: visible;
    display: inline;
    overflow: visible;
    enable-background: accumulate
}

.wavedrom_svg_defs .s8 {
    color: #000;
    fill: #b9e0ff;
    fill-opacity: 1;
    fill-rule: nonzero;
    stroke: none;
    stroke-width: 1px;
    marker: none;
    visibility: visible;
    display: inline;
    overflow: visible;
    enable-background: accumulate
}

.wavedrom_svg_defs .s9 {
    fill: #000;
    fill-opacity: 1;
    stroke: none
}

.wavedrom_svg_defs .s10 {
    color: #000;
    fill: #fff;
    fill-opacity: 1;
    fill-rule: nonzero;
    stroke: none;
    stroke-width: 1px;
    marker: none;
    visibility: visible;
    display: inline;
    overflow: visible;
    enable-background: accumulate
}

.wavedrom_svg_defs .s11 {
    fill: #0041c4;
    fill-opacity: 1;
    stroke: none
}

.wavedrom_svg_defs .s12 {
    fill: none;
    stroke: #0041c4;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-opacity: 1;
    stroke-dasharray: none
}

/*wavedrom stop*/


/* fontawesome */

/*!
 * Font Awesome Free 5.7.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
svg:not(:root).svg-inline--fa {
    overflow: visible;
}

.svg-inline--fa {
    display: inline-block;
    font-size: inherit;
    height: 1em;
    overflow: visible;
    vertical-align: -.125em;
}

.svg-inline--fa.fa-lg {
    vertical-align: -.225em;
}

.svg-inline--fa.fa-w-1 {
    width: 0.0625em;
}

.svg-inline--fa.fa-w-2 {
    width: 0.125em;
}

.svg-inline--fa.fa-w-3 {
    width: 0.1875em;
}

.svg-inline--fa.fa-w-4 {
    width: 0.25em;
}

.svg-inline--fa.fa-w-5 {
    width: 0.3125em;
}

.svg-inline--fa.fa-w-6 {
    width: 0.375em;
}

.svg-inline--fa.fa-w-7 {
    width: 0.4375em;
}

.svg-inline--fa.fa-w-8 {
    width: 0.5em;
}

.svg-inline--fa.fa-w-9 {
    width: 0.5625em;
}

.svg-inline--fa.fa-w-10 {
    width: 0.625em;
}

.svg-inline--fa.fa-w-11 {
    width: 0.6875em;
}

.svg-inline--fa.fa-w-12 {
    width: 0.75em;
}

.svg-inline--fa.fa-w-13 {
    width: 0.8125em;
}

.svg-inline--fa.fa-w-14 {
    width: 0.875em;
}

.svg-inline--fa.fa-w-15 {
    width: 0.9375em;
}

.svg-inline--fa.fa-w-16 {
    width: 1em;
}

.svg-inline--fa.fa-w-17 {
    width: 1.0625em;
}

.svg-inline--fa.fa-w-18 {
    width: 1.125em;
}

.svg-inline--fa.fa-w-19 {
    width: 1.1875em;
}

.svg-inline--fa.fa-w-20 {
    width: 1.25em;
}

.svg-inline--fa.fa-pull-left {
    margin-right: .3em;
    width: auto;
}

.svg-inline--fa.fa-pull-right {
    margin-left: .3em;
    width: auto;
}

.svg-inline--fa.fa-border {
    height: 1.5em;
}

.svg-inline--fa.fa-li {
    width: 2em;
}

.svg-inline--fa.fa-fw {
    width: 1.25em;
}

.fa-layers svg.svg-inline--fa {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
}

.fa-layers {
    display: inline-block;
    height: 1em;
    position: relative;
    text-align: center;
    vertical-align: -.125em;
    width: 1em;
}

.fa-layers svg.svg-inline--fa {
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.fa-layers-text, .fa-layers-counter {
    display: inline-block;
    position: absolute;
    text-align: center;
}

.fa-layers-text {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}

.fa-layers-counter {
    background-color: #ff253a;
    border-radius: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    height: 1.5em;
    line-height: 1;
    max-width: 5em;
    min-width: 1.5em;
    overflow: hidden;
    padding: .25em;
    right: 0;
    text-overflow: ellipsis;
    top: 0;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: top right;
    transform-origin: top right;
}

.fa-layers-bottom-right {
    bottom: 0;
    right: 0;
    top: auto;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
}

.fa-layers-bottom-left {
    bottom: 0;
    left: 0;
    right: auto;
    top: auto;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
}

.fa-layers-top-right {
    right: 0;
    top: 0;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: top right;
    transform-origin: top right;
}

.fa-layers-top-left {
    left: 0;
    right: auto;
    top: 0;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: top left;
    transform-origin: top left;
}

.fa-lg {
    font-size: 1.33333em;
    line-height: 0.75em;
    vertical-align: -.0667em;
}

.fa-xs {
    font-size: .75em;
}

.fa-sm {
    font-size: .875em;
}

.fa-1x {
    font-size: 1em;
}

.fa-2x {
    font-size: 2em;
}

.fa-3x {
    font-size: 3em;
}

.fa-4x {
    font-size: 4em;
}

.fa-5x {
    font-size: 5em;
}

.fa-6x {
    font-size: 6em;
}

.fa-7x {
    font-size: 7em;
}

.fa-8x {
    font-size: 8em;
}

.fa-9x {
    font-size: 9em;
}

.fa-10x {
    font-size: 10em;
}

.fa-fw {
    text-align: center;
    width: 1.25em;
}

.fa-ul {
    list-style-type: none;
    margin-left: 2.5em;
    padding-left: 0;
}

.fa-ul > li {
    position: relative;
}

.fa-li {
    left: -2em;
    position: absolute;
    text-align: center;
    width: 2em;
    line-height: inherit;
}

.fa-border {
    border: solid 0.08em #eee;
    border-radius: .1em;
    padding: .2em .25em .15em;
}

.fa-pull-left {
    float: left;
}

.fa-pull-right {
    float: right;
}

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
    margin-right: .3em;
}

.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
    margin-left: .3em;
}

.fa-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

.fa-pulse {
    -webkit-animation: fa-spin 1s infinite steps(8);
    animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.fa-rotate-90 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.fa-rotate-180 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.fa-rotate-270 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}

.fa-flip-horizontal {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.fa-flip-vertical {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
    -webkit-transform: scale(1, -1);
    transform: scale(1, -1);
}

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
    -webkit-filter: none;
    filter: none;
}

.fa-stack {
    display: inline-block;
    height: 2em;
    position: relative;
    width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
}

.svg-inline--fa.fa-stack-1x {
    height: 1em;
    width: 1.25em;
}

.svg-inline--fa.fa-stack-2x {
    height: 2em;
    width: 2.5em;
}

.fa-inverse {
    color: #fff;
}

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/* fontawesome end*/

/* xsj patch start */

.xiaoshujiang_code .code_line_break_hack {
    margin: 0;
    border: 0;
    border-top: 0;
    border-bottom: 0;
}

.component_attachment, .code_line_break_hack {
    display: none;
    visibility: collapse !important;
    height: 0 !important;
}

.blank_anchor_id {
    float: right;
    width: 1px
}

.blank_anchor_id {
    visibility: hidden;
}

.blank_anchor_id:before {
    content: 'a';
}

.xsj_foreignObject {
    width: 100% !important;
    height: 100% !important;
    text-align: initial;
    word-spacing: normal;
}

.xsj_foreignObject hr {
    margin: inherit;
}

.xsj_foreignObject.xsj_drawio_foreignObject * {
    font-size: inherit;
}

.xsj_foreignObject.xsj_drawio_foreignObject h1 {
    font-size: 2em;
    margin-block-start: 0.67em;
    margin-block-end: 0.67em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

.xsj_foreignObject.xsj_drawio_foreignObject h2 {
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

.xsj_foreignObject.xsj_drawio_foreignObject h3 {
    font-size: 1.17em;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

.xsj_foreignObject.xsj_drawio_foreignObject h4 {
    font-size: 1em;
    margin-block-start: 1.33em;
    margin-block-end: 1.33em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

.xsj_foreignObject.xsj_drawio_foreignObject h5 {
    font-size: .83em;
    margin-block-start: 1.67em;
    margin-block-end: 1.67em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

.xsj_foreignObject.xsj_drawio_foreignObject h6 {
    font-size: .67em;
    margin-block-start: 2.33em;
    margin-block-end: 2.33em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

/* xsj patch end */

/* emoji */
img.emoji {
    width: 1em;
    line-height: 1em;
    vertical-align: baseline;
    margin-bottom: 0;
}

/* emoji */

@import "calculator";